<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var paylist = [
        {paymode: '1', payname: "现金", paymoney: "20"}
        , {paymode: '2', payname: "支付宝", paymoney: "50"}
        , {paymode: '1', payname: "现金", paymoney: "40"}
    ];

    /*
     * @description        根据某个字段实现对json数组的排序
     * @param     array    要排序的json数组对象
     * @param     field    排序字段（此参数必须为字符串）
     * @param     reverse  是否倒序（默认为false）
     * @return    array    返回排序后的json数组
    */
    function jsonSort(array, field, reverse) {
        //数组长度小于2 或 没有指定排序字段 或 不是json格式数据
        if (array.length < 2 || !field || typeof array[0] !== "object") return array;

        //数字类型排序
        if (typeof array[0][field] === "number") {
            array.sort(function (x, y) {
                return x[field] - y[field]
            });
        }
        //字符串类型排序
        if (typeof array[0][field] === "string") {
            array.sort(function (x, y) {
                return x[field].localeCompare(y[field])
            });
        }
        //倒序
        if (reverse) {
            array.reverse();
        }
        return array;
    }

    /*
    * JSON数组去重
    * @param: [array] json Array
    * @param: [string] 唯一的key名，根据此键名进行去重
    */
    function uniqueArray(array, key) {
        var result = [array[0]];
        for (var i = 1; i < array.length; i++) {
            var item = array[i];
            var repeat = false;
            for (var j = 0; j < result.length; j++) {
                if (item[key] == result[j][key]) {
                    repeat = true;
                    break;
                }
            }
            if (!repeat) {
                result.push(item);
            }
        }
        return result;
    }


</script>
</body>
</html>